import axios from 'axios'

// 将 表单格式数据 转换成对象 或者 将对象格式数据 转换成表单格式
import qs from 'qs'


axios.defaults.baseURL = 'http://www.520gongfu.com:9527/api'


// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // console.log('config:', config);
  // 设置 请求 token 校验
  const token = sessionStorage.getItem('token')
  if (token) {
    config.headers['Authorization'] = token
  }
  // 在发送请求之前做些什么
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});


// 首页 轮播
export const getSliders = (callback) => {

  axios.get('/home/sliders').then(function (response) {
    // console.log(response);
    callback && callback(response.data)
  })
    .catch(function (error) {
      console.log(error);
    });

}


// 首页 快捷导航 (首页分类)
export const homeCategory = (callback) => {
  axios.get('/home/category').then(function (res) {
    callback && callback(res.data)
  }).catch(err => {
    console.log(err);
  })

}

// 首页楼梯商品数据
export const getFloorList = (callback) => {
  axios.get('/home/floorlist').then(res => {
    callback && callback(res.data)
  }).catch(err => {
    console.log(err);
  })
}

// 获取 分类页面数据
export const getCategoryData = (callback) => {
  axios.get('/category/data').then(res => {
    callback && callback(res.data)
  }).catch(err => {
    console.log(err);
  })
}

/**
 * 登录
 */
export const login = (params, callback) => {
  return axios.post('/user/login', qs.stringify(params)).then(res => {
    const { data } = res
    callback && callback(data)
  }).catch(err => {
    console.log(err);
  })
}

/**
 * 获取用户信息
 * */
export const getUserInfo = (callback) => {
  return axios.get('/user/info').then(res => {
    callback && callback(res.data)
  }).catch(err => {
    console.log(err);
  })
}

/**
 * 推荐商品 
 * */

export const getRecommend = (callback) => {
  return axios.get('/product/recommend').then(res => {
    callback && callback(res.data)
  }).catch(err => {
    console.log(err);
  })
}

/**
 * 获取 购物车数据
 * */
export const getCartList = (callback) => {
  return axios.get('/cart/list').then(res => {
    callback && callback(res.data)
  }).catch(err => {
    console.log(err);
  })

}